﻿Imports System.Text
Imports Microsoft.VisualStudio.Text.Editor

Namespace VsSpeakerCompanion.UI
	''' <summary>
	''' Provides UI functionality
	''' </summary>
	Public Interface IUIService
		''' <summary>
		''' Shows a message
		''' </summary>
		''' <param name="message"></param>
		Sub ShowMessage(ByVal message As String)

		''' <summary>
		''' Shows an error
		''' </summary>
		''' <param name="errorMessage"></param>
		Sub ShowError(ByVal errorMessage As String)

		''' <summary>
		''' Shows an exception
		''' </summary>
		''' <param name="exception"></param>
		Sub ShowError(ByVal exception As Exception)

		''' <summary>
		''' Executes an operation in the UI context changing the mouse cursor and handling the errors
		''' </summary>
		''' <param name="operation"></param>
		''' <returns></returns>
		Function ExecuteOperation(ByVal operation As Action) As Boolean
	End Interface
End Namespace
